BulmaでNav barを作る
Bulmaでいい感じの<nav>をつくる方法
部品の構成
以下を<nav>に配置する
ブランドアイコン
ボタンその他
(touch device only) hamburger menu
ボタンがこの中に表示されるようになる
詳細
本体
code:html
<nav class="navbar" role="navigation" aria-label="main navigation">
<!--いろいろ書く-->
</nav>
ブランドアイコン
hamburger menuをブランドアイコンの直後に入れる
code:html
<div class="navbar-brand">
<a class="navbar-item" href="...">
<!-- img タグとかを置く -->
</a>
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="global-navbar-items">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
部品の配置
この中に入れる
code:html
<div id="global-navbar-items" class="navbar-menu">
<div class="navbar-start">
<!--ここに部品を入れる-->
</div>
</div>
hamburger menuのdata-targetと`dとを同じ値にすると、touch deviceのときにボタンがhamburger menu内に表示されるようになる
/icons/javascript.iconを書かないとできない。
touch deviceでもbarに部品を表示したいときは、.is-activeを入れる
manualではdiv.navbar-startを使わなくてもいいとあるが、色がおかしくなるので使ったほうが無難
ボタンその他
.navbar-itemを指定する
Navbarの固定
上に固定する
<nav>に.is-fixed-topを入れる
<html> or <body>に.has-navbar-fixed-topをいれる
/icons/react.iconの場合はuseEffect()を使ってrender後にDOM操作で追加する
下に固定する
topをbottomに変える
from Fixed navbar | Navbar | Bulma: Free, open source, and modern CSS framework based on Flexbox
References
Navbar | Bulma: Free, open source, and modern CSS framework based on Flexbox
#2020-12-03 10:10:42
#2020-11-30 22:06:14